package cn.b.sky.mes.andon.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.b.sky.mes.andon.model.AndonTemplateAttribute;
import cn.b.sky.mes.andon.model.condition.AndonTemplateAttributeCondition;

/**
 * 
 * <strong>Title : AndonTemplateAttributeDao.java<br></strong>
 * <strong>Package : cn.b.sky.mes.andon.dao<br></strong>
 * <strong>Description : </strong>暗灯模板属性值相关数据库操作接口定义<br> 
 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
 * <p>
 * @author JunLin.Yang<br>
 * @version <strong>v1.0.0</strong><br>
 */
public interface AndonTemplateAttributeDao {
	
		/**
  	 * 
  	 * <strong>Title : insertAndonTemplateAttribute<br></strong>
  	 * <strong>Description : </strong>新增暗灯模板属性值数据<br> 
  	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
  	 * <p>
  	 * @param data 暗灯模板属性值
  	 * @return
  	 * int 新增记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
 		 */
  public int insertAndonTemplateAttribute(AndonTemplateAttribute data);
  
  	/**
  	 * 
  	 * <strong>Title : updateAndonTemplateAttribute<br></strong>
  	 * <strong>Description : </strong>更新暗灯模板属性值数据<br> 
  	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
  	 * <p>
  	 * @param data 暗灯模板属性值
  	 * @return
  	 * int 更新的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int updateAndonTemplateAttribute(AndonTemplateAttribute data);
  	
  	
  	/**
  	 * 
  	 * <strong>Title : deleteAndonTemplateAttribute<br></strong>
  	 * <strong>Description : </strong>删除暗灯模板属性值数据<br> 
  	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
  	 * <p>
  	 * @param data 暗灯模板属性值
  	 * @return
  	 * int 删除的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int deleteAndonTemplateAttribute(AndonTemplateAttribute data);
  	
  	
  	/**
  	 * 
  	 * <strong>Title : getAndonTemplateAttributesCount<br></strong>
  	 * <strong>Description : </strong>查询所有的暗灯模板属性值数据记录数<br> 
  	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
  	 * <p>
  	 * @return
  	 * long 数据记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public long getAndonTemplateAttributesCount();
  	
  	/**
  	 * 
  	 * <strong>Title : selectAndonTemplateAttributes<br></strong>
  	 * <strong>Description : </strong>查询所有的暗灯模板属性值数据<br> 
  	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
  	 * <p>
  	 * @return
  	 * List<AndonTemplateAttribute> 所有的暗灯模板属性值数据
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public List<AndonTemplateAttribute> selectAndonTemplateAttributes();
  	
  	/**
  	 * 
  	 * <strong>Title : deleteAndonTemplateAttributeByPrimaryKey<br></strong>
  	 * <strong>Description : </strong>根据主键信息删除暗灯模板属性值数据<br> 
  	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
  	 * <p>
	 * @param andonTypeCode 暗灯类型编号
	 * @param siteCode 工厂代码
	 * @param attributeCode 属性编号
	 * @param templateCode 暗灯模板编号
	 * @return
  	 * int 删除的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int deleteAndonTemplateAttributeByPrimaryKey(@Param("siteCode")String siteCode,@Param("templateCode")String templateCode,@Param("andonTypeCode")String andonTypeCode,@Param("attributeCode")String attributeCode);
  	
  /**
	 * 
	 * <strong>Title : getAndonTemplateAttributeByPrimaryKey<br></strong>
	 * <strong>Description : </strong>根据主键查询暗灯模板属性值对象<br> 
	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
	 * <p>
	 * @param andonTypeCode 暗灯类型编号
	 * @param siteCode 工厂代码
	 * @param attributeCode 属性编号
	 * @param templateCode 暗灯模板编号
	 * @return
	 * AndonTemplateAttribute 暗灯模板属性值对象
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public AndonTemplateAttribute getAndonTemplateAttributeByPrimaryKey(@Param("siteCode")String siteCode,@Param("templateCode")String templateCode,@Param("andonTypeCode")String andonTypeCode,@Param("attributeCode")String attributeCode);
  
  /**
	 * 
	 * <strong>Title : existAndonTemplateAttributeByPrimaryKey<br></strong>
	 * <strong>Description : </strong>根据主键查询暗灯模板属性值对象是否存在<br> 
	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
	 * <p>
	 * @param andonTypeCode 暗灯类型编号
	 * @param siteCode 工厂代码
	 * @param attributeCode 属性编号
	 * @param templateCode 暗灯模板编号
	 * @return
	 * boolean 数据是否存在
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public boolean existAndonTemplateAttributeByPrimaryKey(@Param("siteCode")String siteCode,@Param("templateCode")String templateCode,@Param("andonTypeCode")String andonTypeCode,@Param("attributeCode")String attributeCode);
  
  	/**
  	 * 
  	 * <strong>Title : existsAndonTemplateAttributeByCondition<br></strong>
  	 * <strong>Description : </strong>根据查询对象查询暗灯模板属性值数据是否存在<br> 
  	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
  	 * <p>
  	 * @param condition 暗灯模板属性值查询对象
  	 * boolean 数据是否存在
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public boolean existsAndonTemplateAttributeByCondition(AndonTemplateAttributeCondition condition);
  	
  	/**
  	 * 
  	 * <strong>Title : deleteAndonTemplateAttributeByCondition<br></strong>
  	 * <strong>Description : </strong>根据查询对象删除暗灯模板属性值数据<br> 
  	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
  	 * <p>
  	 * @param condition 暗灯模板属性值查询对象
  	 * int 删除的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int deleteAndonTemplateAttributeByCondition(AndonTemplateAttributeCondition condition);
	
	
  /**
	 * 
	 * <strong>Title : getAndonTemplateAttributeByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询对应暗灯模板属性值对象<br> 
	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
	 * <p>
	 * @param condition 暗灯模板属性值查询条件
	 * @return
	 * AndonTemplateAttribute 暗灯模板属性值对象
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public AndonTemplateAttribute getAndonTemplateAttributeByCondition(AndonTemplateAttributeCondition condition);
	
	/**
	 * 
	 * <strong>Title : selectAndonTemplateAttributesByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询暗灯模板属性值集合<br> 
	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
	 * <p>
	 * @param condition 暗灯模板属性值查询条件
	 * @return 
	 * List<AndonTemplateAttribute> 暗灯模板属性值集合
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public List<AndonTemplateAttribute> selectAndonTemplateAttributesByCondition(AndonTemplateAttributeCondition condition);
	
	/**
	 * 
	 * <strong>Title : selectAndonTemplateAttributePageDataByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询相应分页的暗灯模板属性值集合<br> 
	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
	 * <p>
	 * @param condition 暗灯模板属性值查询条件
	 * @return 
	 * List<AndonTemplateAttribute> 暗灯模板属性值集合
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public List<AndonTemplateAttribute> selectAndonTemplateAttributePageDataByCondition(AndonTemplateAttributeCondition condition);

	/**
	 * 
	 * <strong>Title : getAndonTemplateAttributesCountByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询相应的暗灯模板属性值记录数<br> 
	 * <strong>Create on : 2016-10-20 上午09:33:57<br></strong>
	 * <p>
	 * @param condition 暗灯模板属性值查询条件
	 * @return
	 * long 数据记录数
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
  	public long getAndonTemplateAttributesCountByCondition(AndonTemplateAttributeCondition condition);
  	
  	
  	
  
	
}
